
HUDRequests OXP

This is a tech demo to make semi-dynamic HUD menus and contain requests for new features to make more dynamic HUDs.
The real HUDMenu OXP with a menu-making howto will be scheduled after some requests are coded.

Usage: let's take off and talk with the Nav Buoy!
Please turn of your weapons with _ (underscore) button if your ship has turrets to avoid autofire.

After talk please send the Logs/Latest.log to norbylite@gmail.com, in this way you can answer the in-game asked questions.

A mini game is included if you choose the Oolite misison: you win if no aliens remaining, and the log will contain your combat statictics.
Based on the logs a global highsore table can be maked between all players who send it in e-mail, but game logs are accepted only from players who send a completed survey log also. ;)


The requests (spoiler if you want to play, read after you win) :

1. Script-writable text legends (identified by a new id parameter) to step over console messages, reach unlimited show time and to make talking and numeric HUDs more(-more-more) easier, and maybe an on-hud mission screen also (if can grab the cursor buttons).
My idea for an easy numeric hud: player.ship.hudlegends["writable energy legend"].text = player.ship.energy;
If coded then this OXP do something (not an error into the log only).

2. Two more equipment button: one to step back in the HUD menu (Ctrl-n) and another to close it (Ctrl-b), so can give 4 commands to any equipments.

3. A hud-overrides.plist to automerge the HUD menus with any installed HUD. Without this a mission using HUD menu can playable only on one HUD or need to made plists for all HUDs and the player must rename file or do similar boring things to use the loved HUD.

4. Add rgb_color into legends to match the messages with the theme of the HUD (now all legends are in green color only).

5. Movable HUD objects will be also very usable (legends with writable x,y and other parameters to must not make as many selectors as lines and for fully dynamic effects).

6. More feedback by either an Input Box legend which shown when enter pressed (and closed also and an "entered" equipment handler called with the text), or a "Keyboard" mode when a "keypressed" handler get any buttons, or both. :) This means temporary locked ship controls (except mouse and joystick), but this is the best way to make on-fly surveys, user labels or logbook OXPs, and OXPers can make small jses which can turn it off when something happen (for example if player is targeted then call a "turnoffkeyboardmode" function) and a limited autopilot aready makeable in js which can help to control the ship (slow before collide) until player is typing. 

7. A "guiScreenChangedToOptionsInPause" event handler to able to hide the HUD menu. The outlook is buggy if paused during talk and pressed F2 because the current handler paused also so can not hide it.


Dependencies:
Oolite v1.77 or later.

Conflicts:
Do not use any custom HUD because this is a HUD also.

Recommended OXPs:
All others. :)

Instructions:
Unzip the file, and then move the folder named ".oxp" in the end to the AddOns directory of your Oolite installation.

License:
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License version 3.0
If you are re-using any piece of this OXP, please let me know.

Changelog:
2013.06.02. v1.1 - Requests modified regarding the answer of cim in the forum.
2013.05.30. v1.0 - Added HUDRequests survey and sounds.
2013.05.29. v0.9 - Added mini game.
2013.05.28. v0.8 - Added logevents.js.
2013.05.27. v0.7 - Animated picture frames and markers.
2013.05.26. v0.6 - Radio activate try to call the current target if any, mode always scan target with message.
2013.05.25. v0.5 - Added mission menu and right-side pictures.
2013.05.24. v0.4 - Added answer logging, menu hiding in GUI, coriolisreq.js.
2013.05.23. v0.3 - Splitted the main functions into the hudreq.js, talks into the buoyreq.js.
2013.05.22. v0.2 - Radio will autoscan for target with message if no current target set.
2013.05.21. v0.1 - First HUD Menu demonstration.
